<?php

namespace Pyaf\GymBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Rutina
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Pyaf\GymBundle\Repository\RutinaRepository")
 */
class Rutina
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;
    
    /**
     * @var string
     *
     * @ORM\Column(name="nombre", type="string", length=200)
     */
    private $nombre;
    
    /**
     * @var string
     *
     * @ORM\Column(name="descripcion", type="text")
     */
    private $descripcion;
    
    /**
     * @var array
     *
     * @ORM\Column(name="dias_dictar", type="array", nullable=true)
     */
    private $dias_dictar;

    /**
     * @var boolean
     *
     * @ORM\Column(name="habilitado", type="boolean")
     */
    private $habilitado;
    
    /**
    * @ORM\ManyToMany(targetEntity="GrupoMusculares", inversedBy="rutinas")
    * @ORM\JoinTable(name="rutinas_gruposmusculares",
    *      joinColumns={@ORM\JoinColumn(name="rutina_id", referencedColumnName="id")},
    *      inverseJoinColumns={@ORM\JoinColumn(name="grupomuscular_id", referencedColumnName="id")}
    *      )
    */
    protected $grupos_musculares;
    
    /**
     * @ORM\ManyToMany(targetEntity="PaqueteRutina", mappedBy="rutinas")
     */
    protected $paquetes_rutinas;

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set dias_dictar
     *
     * @param array $diasDictar
     * @return Rutina
     */
    public function setDiasDictar($diasDictar)
    {
        $this->dias_dictar = $diasDictar;
    
        return $this;
    }

    /**
     * Get dias_dictar
     *
     * @return array 
     */
    public function getDiasDictar()
    {
        return $this->dias_dictar;
    }

    /**
     * Set habilitado
     *
     * @param boolean $habilitado
     * @return Rutina
     */
    public function setHabilitado($habilitado)
    {
        $this->habilitado = $habilitado;
    
        return $this;
    }

    /**
     * Get habilitado
     *
     * @return boolean 
     */
    public function getHabilitado()
    {
        return $this->habilitado;
    }
    /**
     * Constructor
     */
    public function __construct()
    {
        $this->grupos_musculares = new \Doctrine\Common\Collections\ArrayCollection();
    }
    
    public function __toString()
    {
        return $this->getNombre();
    }
    
    /**
     * Set nombre
     *
     * @param string $nombre
     * @return Rutina
     */
    public function setNombre($nombre)
    {
        $this->nombre = $nombre;
    
        return $this;
    }

    /**
     * Get nombre
     *
     * @return string 
     */
    public function getNombre()
    {
        return $this->nombre;
    }

    /**
     * Add grupos_musculares
     *
     * @param \Pyaf\GymBundle\Entity\GrupoMusculares $gruposMusculares
     * @return Rutina
     */
    public function addGruposMusculares(\Pyaf\GymBundle\Entity\GrupoMusculares $gruposMusculares)
    {
        $this->grupos_musculares[] = $gruposMusculares;
    
        return $this;
    }

    /**
     * Remove grupos_musculares
     *
     * @param \Pyaf\GymBundle\Entity\GrupoMusculares $gruposMusculares
     */
    public function removeGruposMusculares(\Pyaf\GymBundle\Entity\GrupoMusculares $gruposMusculares)
    {
        $this->grupos_musculares->removeElement($gruposMusculares);
    }

    /**
     * Get grupos_musculares
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getGruposMusculares()
    {
        return $this->grupos_musculares;
    }

    /**
     * Add paquetes_rutinas
     *
     * @param \Pyaf\GymBundle\Entity\PaqueteRutina $paquetesRutinas
     * @return Rutina
     */
    public function addPaquetesRutina(\Pyaf\GymBundle\Entity\PaqueteRutina $paquetesRutinas)
    {
        $this->paquetes_rutinas[] = $paquetesRutinas;
    
        return $this;
    }

    /**
     * Remove paquetes_rutinas
     *
     * @param \Pyaf\GymBundle\Entity\PaqueteRutina $paquetesRutinas
     */
    public function removePaquetesRutina(\Pyaf\GymBundle\Entity\PaqueteRutina $paquetesRutinas)
    {
        $this->paquetes_rutinas->removeElement($paquetesRutinas);
    }

    /**
     * Get paquetes_rutinas
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getPaquetesRutinas()
    {
        return $this->paquetes_rutinas;
    }

    /**
     * Set descripcion
     *
     * @param string $descripcion
     * @return Rutina
     */
    public function setDescripcion($descripcion)
    {
        $this->descripcion = $descripcion;
    
        return $this;
    }

    /**
     * Get descripcion
     *
     * @return string 
     */
    public function getDescripcion()
    {
        return $this->descripcion;
    }

    /**
     * Add grupos_musculares
     *
     * @param \Pyaf\GymBundle\Entity\GrupoMusculares $gruposMusculares
     * @return Rutina
     */
    public function addGruposMusculare(\Pyaf\GymBundle\Entity\GrupoMusculares $gruposMusculares)
    {
        $this->grupos_musculares[] = $gruposMusculares;
    
        return $this;
    }

    /**
     * Remove grupos_musculares
     *
     * @param \Pyaf\GymBundle\Entity\GrupoMusculares $gruposMusculares
     */
    public function removeGruposMusculare(\Pyaf\GymBundle\Entity\GrupoMusculares $gruposMusculares)
    {
        $this->grupos_musculares->removeElement($gruposMusculares);
    }
}